home *** CD-ROM | disk | FTP | other *** search
/ Hobby PC 28 / Hobby PC 28.iso / MicrografxMM / FlowCharter / Autosamp / MOVE.FRM < prev    next >
Text File  |  1997-03-04  |  6KB  |  197 lines

  1. VERSION 4.00
  2. Begin VB.Form Form1 
  3.    Appearance      =   0  'Flat
  4.    BackColor       =   &H80000005&
  5.    Caption         =   "Move Event DEMO"
  6.    ClientHeight    =   3405
  7.    ClientLeft      =   1320
  8.    ClientTop       =   1695
  9.    ClientWidth     =   3840
  10.    BeginProperty Font 
  11.       name            =   "MS Sans Serif"
  12.       charset         =   0
  13.       weight          =   700
  14.       size            =   8.25
  15.       underline       =   0   'False
  16.       italic          =   0   'False
  17.       strikethrough   =   0   'False
  18.    EndProperty
  19.    ForeColor       =   &H80000008&
  20.    Height          =   3810
  21.    Icon            =   "MOVE.frx":0000
  22.    Left            =   1260
  23.    LinkTopic       =   "Form1"
  24.    ScaleHeight     =   3405
  25.    ScaleWidth      =   3840
  26.    Top             =   1350
  27.    Width           =   3960
  28.    Begin VB.PictureBox Picture1 
  29.       Appearance      =   0  'Flat
  30.       BackColor       =   &H80000005&
  31.       BorderStyle     =   0  'None
  32.       ForeColor       =   &H80000008&
  33.       Height          =   495
  34.       Left            =   255
  35.       Picture         =   "MOVE.frx":030A
  36.       ScaleHeight     =   495
  37.       ScaleWidth      =   495
  38.       TabIndex        =   4
  39.       Top             =   2070
  40.       Width           =   495
  41.    End
  42.    Begin AbcflowLib.ABC ABC1 
  43.       Height          =   495
  44.       Left            =   120
  45.       TabIndex        =   5
  46.       Top             =   2760
  47.       Width           =   495
  48.       _version        =   65536
  49.       _extentx        =   873
  50.       _extenty        =   873
  51.       _stockprops     =   1
  52.    End
  53.    Begin VB.Label Label3 
  54.       Appearance      =   0  'Flat
  55.       BackColor       =   &H80000005&
  56.       Caption         =   "(c) Micrografx Inc., 1996. All Rights Reserved."
  57.       ForeColor       =   &H80000008&
  58.       Height          =   390
  59.       Left            =   885
  60.       TabIndex        =   0
  61.       Top             =   2145
  62.       Width           =   3000
  63.    End
  64.    Begin VB.Label Label4 
  65.       Appearance      =   0  'Flat
  66.       BackColor       =   &H80000005&
  67.       Caption         =   "Additionally, X && Y field values are updated indicating each selected shape's position on the chart."
  68.       ForeColor       =   &H80000008&
  69.       Height          =   735
  70.       Left            =   240
  71.       TabIndex        =   3
  72.       Top             =   1200
  73.       Width           =   3495
  74.    End
  75.    Begin VB.Label Label1 
  76.       Appearance      =   0  'Flat
  77.       BackColor       =   &H80000005&
  78.       Caption         =   $"MOVE.frx":0614
  79.       ForeColor       =   &H80000008&
  80.       Height          =   1095
  81.       Left            =   240
  82.       TabIndex        =   2
  83.       Top             =   120
  84.       Width           =   3375
  85.    End
  86.    Begin VB.Label Label2 
  87.       Appearance      =   0  'Flat
  88.       BackColor       =   &H80000005&
  89.       Caption         =   "<---- Double-click on this custom OCX in VB 4.0 edit mode to see the event handling code."
  90.       ForeColor       =   &H80000008&
  91.       Height          =   585
  92.       Left            =   720
  93.       TabIndex        =   1
  94.       Top             =   2730
  95.       Visible         =   0   'False
  96.       Width           =   3015
  97.    End
  98. End
  99. Attribute VB_Name = "Form1"
  100. Attribute VB_Creatable = False
  101. Attribute VB_Exposed = False
  102. Private Sub ABC1_AppQuitNOTIFY()
  103.     End
  104. End Sub
  105.  
  106. Private Sub ABC1_ChartNewNOTIFY(ByVal Chart As Object)
  107.     Call AddFields(Chart)
  108. End Sub
  109.  
  110. Private Sub ABC1_FieldValueChangedNOTIFY(ByVal FieldValue As Object, ByVal Object As Object, ByVal Chart As Object)
  111.     If FieldValue.Name = "X" Then
  112.         Object.CenterX = FieldValue.Value
  113.     End If
  114.     If FieldValue.Name = "Y" Then
  115.         Object.CenterY = FieldValue.Value
  116.     End If
  117.     If FieldValue.Name = "Color" Then
  118.         NewColor = FieldValue.Value
  119.         ' Use WHITE if an invalid color is entered
  120.         If NewColor > 256 Or NewColor < 0 Then NewColor = 0
  121.         Object.Shape.FillColor = ABC1.App.BasicColor(NewColor)
  122.     End If
  123.     If FieldValue.Name = "Text" Then
  124.         Object.Text = FieldValue.Value
  125.     End If
  126.  
  127. End Sub
  128.  
  129. Private Sub ABC1_NewShapeNOTIFY(ByVal Object As Object, ByVal Chart As Object)
  130.     Call ABC1_ObjectMovedNOTIFY(Object, Chart)
  131. End Sub
  132.  
  133. Private Sub ABC1_ObjectMovedNOTIFY(ByVal Object As Object, ByVal Chart As Object)
  134.     Dim Obj As Object, Objs As Object
  135.     
  136.     If Chart.SelectedObjectCount = 1 Then
  137.         Color = ABC1.App.YELLOW
  138.     Else
  139.         Color = ABC1.App.GREEN
  140.     End If
  141.  
  142.  
  143.     ABC1.App.HourGlass = True
  144.     Set Objs = Chart.Objects
  145.     Do
  146.         Set Obj = Objs.ItemFromSelection
  147.         Obj.Color = Color
  148.         Obj.FieldValues.Item("X").Value = Obj.CenterX
  149.         Obj.FieldValues.Item("Y").Value = Obj.CenterY
  150.     Loop While Obj.Valid
  151.     ABC1.App.HourGlass = False
  152.  
  153. End Sub
  154.  
  155. Private Sub AddFields(Chart As Object)
  156.     Dim NewField As Object
  157.  
  158.     Chart.NoRepaint = True
  159.     Set NewField = Chart.FieldTemplates.Add("X")
  160.     NewField.Format = 501
  161.     Set NewField = Chart.FieldTemplates.Add("Y")
  162.     NewField.Format = 501
  163.     Set NewField = Chart.FieldTemplates.Add("Color")
  164.     NewField.Format = 500
  165.     NewField.Hidden = True
  166.     Chart.NoRepaint = False
  167.     Chart.Repaint
  168. End Sub
  169.  
  170. Private Sub Form_Load()
  171.     Dim ABCApp As Object
  172.     Dim CurrentChart As Object
  173.  
  174.     Set ABCApp = CreateObject("ABCFlow.application")
  175.     ABCApp.Visible = True
  176.  
  177.     ABCApp.RegisterEvent ABC1, Form1.Caption, "ChartNewNOTIFY"
  178.     ABCApp.RegisterEvent ABC1, Form1.Caption, "FieldValueChangedNOTIFY"
  179.     ABCApp.RegisterEvent ABC1, Form1.Caption, "ObjectMovedNOTIFY"
  180.     ABCApp.RegisterEvent ABC1, Form1.Caption, "NewShapeNOTIFY"
  181.     
  182.     ' Get the ABC Quit event so the Menu
  183.     ' sample can unload when ABC Quits
  184.     ABCApp.RegisterEvent ABC1, Form1.Caption, "AppQuitNOTIFY"
  185.  
  186.     Set CurrentChart = ABCApp.ActiveChart
  187.  
  188.     If (Not CurrentChart.Valid) Then
  189.         MsgBox "Cannot run without a chart. Open a chart in ABC and run the " + App.Title + " again."
  190.         End
  191.     Else
  192.         Call AddFields(CurrentChart)
  193.     End If
  194.  
  195. End Sub
  196.  
  197.